package com.qdlc.p2p.dal.dao;

import java.util.List;

import com.qdlc.p2p.dal.common.dao.BaseDao;
import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.RateInterest;
import com.qdlc.p2p.dal.model.RateInterestModel;

/**
 * 用户获得加息券记录DAO接口
 * @author wj
 * @version 2.0
 * @since 2015-04-22
 */
public interface RateInterestDao extends BaseDao<RateInterest> {

    /**
     * 查询用户获得加息券记录
     * 
     * @param id 主键ID
     * @return用户获得加息券记录实体
     */
    RateInterest getRateInterestById(long id);
    
    /**
     * 查询所有的加息券
     * @return
     */
    PageDataList<RateInterestModel> getAllRateInterest(String ruleName, int currentPage, int pageSize);
    
    /**
     * 根据状态和id更新加息券
     * @param id
     * @param status
     * @return
     */
    int updateRateInterest(long id,int status);
    
    /**
     *根据用户id获取当前用户可用加息券数量
     * @param userId
     * @return
     */
    public int countRateInterest(long userId);
    
    /**
     * @param userId
     * @return
     */
    List<RateInterest> getRateInterestByUId(long userId);
    
    /**
     * 用户所获取加息券过期方法
     */
    void rateInterestExpiredDispose();
}
